package com.itfreer.xjmh.different.entity;

import java.io.Serializable;
import java.util.LinkedHashSet;
import java.util.Set;

import com.itfreer.form.api.entity.EntityBase;
import com.itfreer.form.api.reflect.DictionaryField;

import javax.persistence.*;

/**
 * 定义集中通关模式数据采集记录表实体
 */
@Entity(name = "f_concentrated_through")
public class ConcentratedThroughEntity extends EntityBase implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键ID
	 */
	@Id
	@Column(name = "id", length = 50, nullable = true)
	private String id;

	/**
	 * 所属机场
	 */
	@Column(name = "airport", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "zd_airport", toFieldName = "airportName")
	private String airport;

	@Transient
	private String airportName;

	/**
	 * 通道
	 * */
	@Column(name = "channel", length = 50, nullable = true)
	private String channel;

	/**
	 * 记录日期
	 */
	@Column(name = "record_date", nullable = true)
	private java.util.Date recorddate;

	/**
	 * 记录时间开始
	 */
	@Column(name = "start_time", nullable = true)
	private java.util.Date starttime;

	/**
	 * 记录时间结束
	 */
	@Column(name = "end_time", nullable = true)
	private java.util.Date endtime;

	/**
	 * 验证通道数
	 */
	@Column(name = "validation_count", nullable = true)
	private Integer validationcount;

	/**
	 * 安检通道数
	 */
	@Column(name = "checkpoints_count", nullable = true)
	private Integer checkpointscount;

	/**
	 * 受检人员
	 */
	@Column(name = "subjects", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "cms_sjry", toFieldName = "subjectsName")
	private String subjects;

	@Transient
	private String subjectsName;

	/**
	 * 验证台
	 */
	@Column(name = "test_bench", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "cms_yzt", toFieldName = "testbenchName")
	private String testbench;

	@Transient
	private String testbenchName;

	/**
	 * 验证通道运行状况
	 */
	@Column(name = "validation_channel_state", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "cms_tdyxzk", toFieldName = "validationchannelstateName")
	private String validationchannelstate;

	@Transient
	private String validationchannelstateName;

	/**
	 * 验证备注
	 */
	@Column(name = "verify_remark", length = 255, nullable = true)
	private String verifyremark;

	/**
	 * 安检通道运行状况
	 */
	@Column(name = "secure_channel_state", length = 50, nullable = true)
	@DictionaryField(dictionaryName = "cms_tdyxzk", toFieldName = "securechannelstateName")
	private String securechannelstate;

	@Transient
	private String securechannelstateName;

	/**
	 * 安检备注
	 */
	@Column(name = "secure_remark", length = 255, nullable = true)
	private String secureremark;

	/**
	 * 记录员签字
	 */
	@Column(name = "signature", length = 50, nullable = true)
	private String signature;

	@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
	@JoinColumn(name = "record_id")
	@OrderBy("serial_number asc")
	private Set<ConcentratedThroughValidationEntity> validation = new LinkedHashSet<ConcentratedThroughValidationEntity>();

	@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
	@JoinColumn(name = "record_id")
	@OrderBy("serial_number asc")
	private Set<ConcentratedThroughCheckEntity> check = new LinkedHashSet<ConcentratedThroughCheckEntity>();

	public Set<ConcentratedThroughValidationEntity> getValidation() {
		return validation;
	}

	public void setValidation(Set<ConcentratedThroughValidationEntity> validation) {
		this.validation = validation;
	}

	public Set<ConcentratedThroughCheckEntity> getCheck() {
		return check;
	}

	public void setCheck(Set<ConcentratedThroughCheckEntity> check) {
		this.check = check;
	}

	@Transient
	public String getAirportName() {
		return airportName;
	}

	public void setAirportName(String airportName) {
		this.airportName = airportName;
	}

	/**
	 * 主键ID
	 */
	public String getId() {
		return id;
	}

	/**
	 * 主键ID
	 */
	public void setId(String value) {
		this.id = value;
	}

	/**
	 * 所属机场
	 */
	public String getAirport() {
		return airport;
	}

	/**
	 * 所属机场
	 */
	public void setAirport(String value) {
		this.airport = value;
	}

	public String getChannel() {
		return channel;
	}

	public void setChannel(String channel) {
		this.channel = channel;
	}

	/**
	 * 记录日期
	 */
	public java.util.Date getRecorddate() {
		return recorddate;
	}

	/**
	 * 记录日期
	 */
	public void setRecorddate(java.util.Date value) {
		this.recorddate = value;
	}

	/**
	 * 记录时间开始
	 */
	public java.util.Date getStarttime() {
		return starttime;
	}

	/**
	 * 记录时间开始
	 */
	public void setStarttime(java.util.Date value) {
		this.starttime = value;
	}

	/**
	 * 记录时间结束
	 */
	public java.util.Date getEndtime() {
		return endtime;
	}

	/**
	 * 记录时间结束
	 */
	public void setEndtime(java.util.Date value) {
		this.endtime = value;
	}

	/**
	 * 验证通道数
	 */
	public Integer getValidationcount() {
		return validationcount;
	}

	/**
	 * 验证通道数
	 */
	public void setValidationcount(Integer value) {
		this.validationcount = value;
	}

	/**
	 * 安检通道数
	 */
	public Integer getCheckpointscount() {
		return checkpointscount;
	}

	/**
	 * 安检通道数
	 */
	public void setCheckpointscount(Integer value) {
		this.checkpointscount = value;
	}

	/**
	 * 受检人员
	 */
	public String getSubjects() {
		return subjects;
	}

	/**
	 * 受检人员
	 */
	public void setSubjects(String value) {
		this.subjects = value;
	}

	/**
	 * 受检人员
	 */
	@Transient
	public String getSubjectsName() {
		return subjectsName;
	}

	/**
	 * 受检人员
	 */
	public void setSubjectsName(String value) {
		this.subjectsName = value;
	}

	/**
	 * 验证台
	 */
	public String getTestbench() {
		return testbench;
	}

	/**
	 * 验证台
	 */
	public void setTestbench(String value) {
		this.testbench = value;
	}

	/**
	 * 验证台
	 */
	@Transient
	public String getTestbenchName() {
		return testbenchName;
	}

	/**
	 * 验证台
	 */
	public void setTestbenchName(String value) {
		this.testbenchName = value;
	}

	/**
	 * 验证通道运行状况
	 */
	public String getValidationchannelstate() {
		return validationchannelstate;
	}

	/**
	 * 验证通道运行状况
	 */
	public void setValidationchannelstate(String value) {
		this.validationchannelstate = value;
	}

	/**
	 * 验证通道运行状况
	 */
	@Transient
	public String getValidationchannelstateName() {
		return validationchannelstateName;
	}

	/**
	 * 验证通道运行状况
	 */
	public void setValidationchannelstateName(String value) {
		this.validationchannelstateName = value;
	}

	/**
	 * 验证备注
	 */
	public String getVerifyremark() {
		return verifyremark;
	}

	/**
	 * 验证备注
	 */
	public void setVerifyremark(String value) {
		this.verifyremark = value;
	}

	/**
	 * 安检通道运行状况
	 */
	public String getSecurechannelstate() {
		return securechannelstate;
	}

	/**
	 * 安检通道运行状况
	 */
	public void setSecurechannelstate(String value) {
		this.securechannelstate = value;
	}

	/**
	 * 安检通道运行状况
	 */
	@Transient
	public String getSecurechannelstateName() {
		return securechannelstateName;
	}

	/**
	 * 安检通道运行状况
	 */
	public void setSecurechannelstateName(String value) {
		this.securechannelstateName = value;
	}

	/**
	 * 安检备注
	 */
	public String getSecureremark() {
		return secureremark;
	}

	/**
	 * 安检备注
	 */
	public void setSecureremark(String value) {
		this.secureremark = value;
	}

	/**
	 * 记录员签字
	 */
	public String getSignature() {
		return signature;
	}

	/**
	 * 记录员签字
	 */
	public void setSignature(String value) {
		this.signature = value;
	}

}
